প্যাসক্যাল ভাষায় case স্টেটমেন্ট একটি নিয়ন্ত্রণ কাঠামো যা একাধিক শর্ত যাচাই করতে ব্যবহার হয়। এটি if-else স্টেটমেন্টের বিকল্প হিসেবে কাজ করে, যেখানে একাধিক সম্ভাব্য মানের মধ্যে থেকে একটি নির্ধারণ করা হয়। case স্টেটমেন্টের সাহায্যে কোডটি আরও পরিষ্কার এবং সহজে পড়তে সক্ষম হয়।
case স্টেটমেন্টের গঠন
case expression of
value1:
begin
// code to execute if expression = value1
end;
value2:
begin
// code to execute if expression = value2
end;
value3:
begin
// code to execute if expression = value3
end;
else
begin
// code to execute if expression doesn't match any of the above values
end;
end;এখানে:
- expression: এটি এমন একটি মান হতে হবে যা একটি নির্দিষ্ট টাইপের হতে হবে (যেমন integer, char, etc.)।
- value1, value2, value3: এগুলি হল সেই সম্ভাব্য মান যা expression এর সঙ্গে তুলনা করা হয়।
- else: এটি ঐ মানগুলির জন্য একটি ডিফল্ট অংশ, যখন expression কোন value এর সাথে মেলে না।
উদাহরণ: case স্টেটমেন্টের ব্যবহার
১. একটি সাধারণ উদাহরণ
ধরা যাক, আমাদের একটি ভেরিয়েবল রয়েছে যা দিনের সংখ্যা নির্দেশ করে (1 থেকে 7), এবং আমরা সেই অনুযায়ী সপ্তাহের দিনের নাম দেখতে চাই। এর জন্য case স্টেটমেন্ট ব্যবহার করা যেতে পারে:
program Weekday;
var
day: integer;
begin
writeln('Enter a number (1-7) to get the corresponding weekday:');
readln(day);
case day of
1: writeln('Sunday');
2: writeln('Monday');
3: writeln('Tuesday');
4: writeln('Wednesday');
5: writeln('Thursday');
6: writeln('Friday');
7: writeln('Saturday');
else
writeln('Invalid day number');
end;
end.এখানে, day ভেরিয়েবলটি ব্যবহারকারী থেকে ইনপুট নেয় এবং তারপর case স্টেটমেন্টটি সেই ইনপুট অনুযায়ী সপ্তাহের নাম প্রিন্ট করে। যদি ইনপুট ১ থেকে ৭ এর মধ্যে না হয়, তাহলে "Invalid day number" মেসেজ প্রদর্শিত হবে।
২. একাধিক মানের জন্য case স্টেটমেন্ট
প্যাসক্যালের case স্টেটমেন্টে একাধিক মানের জন্য একই কোডও দেওয়া যেতে পারে। ধরুন, আমরা যদি দুইটি অথবা একাধিক দিনের জন্য একই কোড এক্সিকিউট করতে চাই:
program WeekdayWithMultipleValues;
var
day: integer;
begin
writeln('Enter a number (1-7) to get the corresponding weekday:');
readln(day);
case day of
1, 7: writeln('Weekend (Sunday or Saturday)');
2, 3, 4, 5, 6: writeln('Weekday');
else
writeln('Invalid day number');
end;
end.এখানে:
1, 7: এই দুটি মানের জন্য একই কোড ব্লক কার্যকর হবে (এগুলি সাপ্তাহিক ছুটির দিন হিসেবে চিহ্নিত করা হয়েছে)।2, 3, 4, 5, 6: এই মানগুলির জন্য আরেকটি কোড ব্লক থাকবে, যা সপ্তাহের সাধারণ দিন হিসেবে চিহ্নিত হবে।
case স্টেটমেন্টের সুবিধা
১. স্পষ্টতা: if-else এর তুলনায় case স্টেটমেন্ট কোডটিকে আরও পরিষ্কার এবং পড়তে সহজ করে তোলে, বিশেষত যখন একাধিক শর্ত থাকে।
২. কার্যকারিতা: এটি একাধিক শর্তের তুলনায় আরও দ্রুত কার্যকরী হতে পারে, কারণ case স্টেটমেন্ট একাধিক মানের তুলনা করার জন্য একটি কার্যকর পদ্ধতি ব্যবহার করে।
৩. ডিফল্ট মান: else ব্লকের মাধ্যমে আপনি একটি ডিফল্ট অ্যাকশন নির্ধারণ করতে পারেন, যা যদি কোনো মানের সাথে মেলে না, তখন কার্যকর হবে।
সারাংশ
প্যাসক্যালের case স্টেটমেন্টটি একাধিক সম্ভাব্য মানের মধ্যে থেকে একটি নির্বাচন করতে ব্যবহৃত হয়। এটি কোডটিকে সহজ, পরিষ্কার এবং দ্রুত কার্যকরী করতে সহায়তা করে, বিশেষত যখন একাধিক শর্তের পরীক্ষা করা হয়। if-else এর তুলনায় case স্টেটমেন্ট বেশি দক্ষ এবং পড়তে সহজ।
Read more